﻿#region Using directives.
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Collections;
using System.Globalization;
using System.Text;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.ComponentModel;
using System.Web.UI.Design;
using System.Drawing;
using System.Reflection;

#endregion
using BizElements.BusinessLayer;

namespace BizElements.Web
{
    /// <summary>Bound list control.</summary>
    public interface IBoundListControl : IBoundControl
    {
        #region Properties.

        /// <summary>Object from which the data-bound control retrieves its list of data items. </summary>
        object DataSource { get; set; }

        /// <summary>Field of the data source that provides the value of each list item.</summary>
        string DataValueField { get; set; }

        /// <summary>Field of the data source that provides the text content of the list items.</summary>
        string DataTextField { get; set; }

        /// <summary>Programmatic identifier assigned to the server control.</summary>
        string ID { get; }

        /// <summary>Collection of items in the list control.</summary>
        ListItemCollection Items { get; }

        /// <summary>Selected item in the list control, or selects the item in the list control that contains the specified value.</summary>
        string SelectedValue { get; }

        /// <summary>Selected text in the list control.</summary>
        string Text { get; }

        #endregion

        #region Methods.

        /// <summary>Binds a data source to the invoked server control and all its child controls.</summary>
        void DataBind();

        #endregion
    }
}